#ifndef SPRITE__H
#define SPRITE__H

#include <vector>
#include <string>
#include <iostream>
using std::vector;

#include "drawable.h"
#include "frame.h"
#include "gamedata.h"

class Sprite : public Drawable {
public:
  Sprite(const Vector2f& pos, const Vector2f& vel, Frame* const f);
  Sprite(const Sprite& s);

  virtual ~Sprite();
  Frame* getFrame() const  { return frame; }
  void setFrame(Frame* f) { frame = f; }
  Sprite& operator=(const Sprite&);
  virtual void draw() const;
  virtual void update(unsigned);

private:
  const Gamedata* gameData;
  Frame* frame;
};
#endif
